package com.leapp.sk.view.im

import android.app.Activity
import android.content.Context
import android.util.AttributeSet
import android.view.MotionEvent
import android.view.View
import android.view.WindowManager
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
import android.widget.LinearLayout
import com.example.util.closeInput

/**
 * 输入框布局基础封装
 * @author  chaohaipeng  on 2018/7/12.
 */
abstract class SKChatInputMenuBase : LinearLayout {
    /**
     * 输入按钮监听回调
     */
     var listener: SKChatInputMenuListener?=null

    constructor(context: Context) : super(context) {
    }


    constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) {
    }

    constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
    }


    /**
     * 设置监听事件
     * @param listener
     */
    fun setChatInputMenuListener(listener: SKChatInputMenuListener) {
        this.listener = listener
    }


    /**
     * 隐藏扩展按钮
     */
    abstract fun onExtendMenuContainerHide()


    /**
     * 文本插入
     * @param text
     */
    abstract fun onTextInsert(text: CharSequence)
    /**
     * 获取文本内容
     * @param text
     */
    abstract fun getEditText(): EditText?




    /**
     * 输入按钮监听回调
     */
    interface SKChatInputMenuListener {
        /**
         * 发送按钮点击
         * @param content
         */
        fun onSendBtnClicked(content: String)

        /**
         * 长按语音讲话
         * @return
         */
        fun onPressToSpeakBtnTouch(v: View, event: MotionEvent): Boolean

        /**
         * 语音按钮点击切换
         */
        fun onToggleVoiceBtnClicked()

        /**
         * 扩展按钮点击
         */
        fun onToggleExtendClicked()

        /**
         * 表情切换点击
         */
        fun onToggleEmojiconClicked()

        /**
         *键盘输入框点击
         */
        fun onEditTextClicked()

    }

}